#ifndef __INPUTMANAGER_H__
#define __INPUTMANAGER_H__

#include "include/IInputManager.h"

class CInputManager : public IInputManager
{
protected:
	SKeyInput KeyStates[KEY_CODES_COUNT];
	SMouseState MouseState;
	bool Proccess;
public:
	CInputManager();
	virtual ~CInputManager();

	virtual SKeyInput *GetKeyState(u8 Key)	{	return &(KeyStates[Key]);			}
	virtual bool IsPressed(u8 Key)			{	return KeyStates[Key].PressedDown;	}

	virtual void UpdateKeys();
	virtual void NewKey(SKeyInput *NewKI);
	virtual SMouseState *GetMouseState();
	virtual void SetMouseState(SMouseState *other);
};

#endif
